|
(******************************************************************************)
(**) ОТДЕЛ ПроМатем2+;
(******************************************************************************
* НАЗНАЧЕНИЕ: измерение быстроты вычислений
* математических функций 1-го аргумента
******************************************************************************)
ИСПОЛЬЗУЕТ
ОС ИЗ "...\Отделы\Обмен\",
Вывод ИЗ "...\Отделы\Обмен\",
Матем ИЗ "...\Отделы\Числа\";
ПОСТ
ВЫЧИСЛЕНИЙ = 1000000; (* число вычислений каждой функции *)
ВИД
Вещ = Матем.Вещ;
Функция = ЗАДАЧА(x:Вещ):Вещ;
(******************************************************************************)
ЗАДАЧА Расчет(f:Функция):ВЕЩ;
ПЕР
i,начВремя:ЦЕЛ;
значение:Вещ;
УКАЗ
начВремя:=ОС.Время();
ОТ i:=1 ДО ВЫЧИСЛЕНИЙ ВЫП
значение:=f(Матем.случ())
КОН;
ВОЗВРАТ (ОС.Время() - начВремя)/1000
КОН Расчет;
(******************************************************************************)
УКАЗ
Вывод.ЧВещ("Время %d вычислений (секунды):^",ВЫЧИСЛЕНИЙ,0,0,0);
Вывод.ЧВещ("ln - %f^",Расчет(Матем.ln ),0,0,0);
Вывод.ЧВещ("log10 - %f^",Расчет(Матем.log10 ),0,0,0);
Вывод.ЧВещ("log2 - %f^",Расчет(Матем.log2 ),0,0,0);
Вывод.ЧВещ("exp - %f^",Расчет(Матем.exp ),0,0,0);
Вывод.ЧВещ("exp10 - %f^",Расчет(Матем.exp10 ),0,0,0);
Вывод.ЧВещ("exp2 - %f^",Расчет(Матем.exp2 ),0,0,0);
Вывод.ЧВещ("sin - %f^",Расчет(Матем.sin ),0,0,0);
Вывод.ЧВещ("cos - %f^",Расчет(Матем.cos ),0,0,0);
Вывод.ЧВещ("tg - %f^",Расчет(Матем.tg ),0,0,0);
Вывод.ЧВещ("arcsin - %f^",Расчет(Матем.arcsin),0,0,0);
Вывод.ЧВещ("arccos - %f^",Расчет(Матем.arccos),0,0,0);
Вывод.ЧВещ("arctg - %f^",Расчет(Матем.arctg ),0,0,0);
Вывод.ЧВещ("sh - %f^",Расчет(Матем.sh ),0,0,0);
Вывод.ЧВещ("ch - %f^",Расчет(Матем.ch ),0,0,0);
Вывод.ЧВещ("th - %f^",Расчет(Матем.th ),0,0,0);
Вывод.ЧВещ("Arsh - %f^",Расчет(Матем.Arsh ),0,0,0);
Вывод.ЧВещ("Arth - %f^",Расчет(Матем.Arth ),0,0,0);
(*
Вывод.ЧВещ("Г - %f^",Расчет(Матем.ln ),0,0,0);
Вывод.ЧВещ("erf - %f^",Расчет(Матем.ln ),0,0,0);
Вывод.ЧВещ("erfc - %f^",Расчет(Матем.ln ),0,0,0);
*)
КОН ПроМатем2.
▲ Вопросы, замечания и предложения высылайте на atimopheyev@yahoo.com или Издателю Глагола:
|
|